package com.disapand.dingdang.configuration

import org.ktorm.database.Database
import org.ktorm.jackson.KtormModule
import com.fasterxml.jackson.databind.Module
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import javax.sql.DataSource

/**
 * @Author disapand
 * @Date 2022/2/21 - 22:12 - 星期一
 */
@Configuration
class KtormConfiguration {

    @Autowired
    lateinit var dataSource: DataSource

    /**
     * 配置数据库连接，使 spring boot 支持 ktorm
     */
    @Bean
    fun database(): Database {
        return Database.connectWithSpringSupport(dataSource)
    }

    /**
     * 给 ktorm 配置 Jackson 模块，使用 Jackson 对实体类序列化和反序列化
     */
    @Bean
    fun ktormModule(): Module {
        return KtormModule()
    }
}